﻿using System;

namespace MCCA.Cache
{
    public interface ICacheEngine
    {
        T Get<T>(string key);

        System.Collections.Generic.IDictionary<string, object> Get(System.Collections.Generic.IEnumerable<string> keys);

        bool TryGet(string key, out object value);

        bool Store(string key, object value);

        bool Store(string key, object value, DateTime expiresAt);

        bool Store(string key, object value, TimeSpan validFor);

        bool Remove(string key);
    }
}
